var express = require('express');
var router = express.Router();
const pro = require("../sql/pro")
const sql = require("../sql/sql")

/**
* @apiGroup 商品信息
* @api {get} /api/goods/get 获取商品数据
* @apiVersion 0.0.0
* @apiDescription 获取商品数据
* @apiSuccess {number} code 请求状态
* @apiSuccess {string} title 请求说明
* @apiSuccess {array} data 请求数据
* @apiSuccessExample {json} Success-Response:
* {
*    "code":200,
*    "title":"请求成功",
*    "data":[{},{},...]
* }
* @apiError {number} code 请求状态
* @apiError {string} title 请求说明
* @apiError {array} data 请求数据
* @apiErrorExample {json} Error-Response:
* {
*    "code":201,
*    "title":"请求失败",
*    "data":"NOT DATA"
* }
* @apiSampleRequest http://localhost:3000/api/goods/get
*/
router.get('/get', function(req, res, next) {
  // 1. 请求数据库中的数据
  sql.get({
    colName:pro
  }).then(data=>{
    // 2. 处理成通用格式
    // {code:200,title:"获取成功",data:data}
    // 3. 发送给前端
    res.send({
      code:200,
      title:"获取成功",
      data:data
    })
  }).catch((err)=>{
    res.send({
      code:201,
      title:"获取失败",
      data:err
    })
  })
});



/**
* @apiGroup 商品信息
* @api {get} /api/goods/detail 获取商品详情数据
* @apiVersion 0.0.0
* @apiDescription 获取商品详情数据
* @apiParam {String} id 商品编号
* @apiSuccess {number} code 请求状态
* @apiSuccess {string} title 请求说明
* @apiSuccess {array} data 请求数据
* @apiSuccessExample {json} Success-Response:
* {
*    "code":200,
*    "title":"请求成功",
*    "data":{}
* }
* @apiError {number} code 请求状态
* @apiError {string} title 请求说明
* @apiError {array} data 请求数据
* @apiErrorExample {json} Error-Response:
* {
*    "code":201,
*    "title":"请求失败",
*    "data":"NOT DATA"
* }
* @apiSampleRequest http://localhost:3000/api/goods/detail
*/
router.get('/detail', function(req, res, next) {
  // req.query.id
  sql.get({
    colName:pro,
    where:{proId:req.query.id}
  }).then(data=>{
    res.send({
      code:200,
      title:"获取成功",
      data:data[0]
    })
  }).catch((err)=>{
    res.send({
      code:201,
      title:"获取失败",
      data:err
    })
  })
})



/**
* @apiGroup 商品信息
* @api {get} /api/goods/sort 获取商品排序数据
* @apiVersion 0.0.0
* @apiDescription 根据指定字段，获取商品排序数据
* @apiParam {String} sortKey 要排序的字段
* @apiParam {Number} direct 1为升序，-1为降序
* @apiSuccess {number} code 请求状态
* @apiSuccess {string} title 请求说明
* @apiSuccess {array} data 请求数据
* @apiSuccessExample {json} Success-Response:
* {
*    "code":200,
*    "title":"请求成功",
*    "data":[{},{},...]
* }
* @apiError {number} code 请求状态
* @apiError {string} title 请求说明
* @apiError {array} data 请求数据
* @apiErrorExample {json} Error-Response:
* {
*    "code":201,
*    "title":"请求失败",
*    "data":"NOT DATA"
* }
* @apiSampleRequest http://localhost:3000/api/goods/sort
*/
router.get('/sort', function(req, res, next) {
  // req.query.sortKey
  // req.query.direct

  const obj = {};
  obj[req.query.sortKey] = req.query.direct

  sql.getSort({
    colName:pro,
    sort: obj
  }).then(data=>{
    res.send({
      code:200,
      title:"获取成功",
      data:data
    })
  }).catch((err)=>{
    res.send({
      code:201,
      title:"获取失败",
      data:err
    })
  })
})

// 分页接口
// 模糊查询接口
// 区间接口
// 分类接口

module.exports = router;
